export interface ExpenseDetail {
  departure: string;
  destination: string;
  personName: string;
  costCenter: string;
  costCenterNo: string;
  departurePlace: string;
  arrivalPlace: string;
  cityTransportFee: number;
  hotelFee: number;
  travelAllowance: number;
  otherFee: number;
  internalOrderNo: string;
  inputTax: number;
  inputTaxOut: string;
}

export interface TravelAccountVO {
  id: string | number;
  applyDate: string;
  applicant: string;
  employeeId: string | number;
  payee: string;
  payeeId: string | number;
  department: string;
  paymentMethod: string;
  bankName: string;
  bankCode: string;
  bankAccount: string;
  reason: string;
  originalLoanAmount: number;
  reimbursementAmount: number;
  supplementAmount: number;
  budgetControl: number;
  actualTravelDays: number;
  expenseDetails: ExpenseDetail[];
  deptManager: string;
  viceManager: string;
  accountingManager: string;
  generalManager: string;
  financeManager: string;
  status: string;
}

export interface TravelAccountForm extends BaseEntity {
  id?: string | number;
  applyDate?: string;
  applicant?: string;
  employeeId?: string | number;
  payee?: string;
  payeeId?: string | number;
  department?: string;
  paymentMethod?: string;
  bankName?: string;
  bankCode?: string;
  bankAccount?: string;
  reason?: string;
  originalLoanAmount?: number;
  reimbursementAmount?: number;
  supplementAmount?: number;
  budgetControl?: number;
  actualTravelDays?: number;
  expenseDetails?: ExpenseDetail[];
  deptManager?: string;
  viceManager?: string;
  accountingManager?: string;
  generalManager?: string;
  financeManager?: string;
  /**
   * 节点编码
   */
  nodeCode?: string;

  /**
   * 状态
   */
  status?: string;
}

export interface TravelAccountQuery extends PageQuery {

  /**
   * 申请日期
   */
  applyDate?: string;

  /**
   * 申请人
   */
  applicant?: string;

  /**
   * 工号
   */
  employeeId?: string | number;

  /**
   * 收款人
   */
  payee?: string;

  /**
   * 收款人工号
   */
  payeeId?: string | number;

  /**
   * 申请部门
   */
  department?: string;

  /**
   * 付款方式
   */
  paymentMethod?: string;

  /**
   * 开户行名称
   */
  bankName?: string;

  /**
   * 联行号
   */
  bankCode?: string;

  /**
   * 开户行账号
   */
  bankAccount?: string;

  /**
   * 出差事由
   */
  reason?: string;

  /**
   * 原借金额
   */
  originalLoanAmount?: number;

  /**
   * 报销金额
   */
  reimbursementAmount?: number;

  /**
   * 补缴金额
   */
  supplementAmount?: number;

  /**
   * 预算控制
   */
  budgetControl?: number;

  /**
   * 实际出差天数
   */
  actualTravelDays?: number;

  /**
   * 部门负责人审批
   */
  deptManager?: string;

  /**
   * 副总审批
   */
  viceManager?: string;

  /**
   * 会计审核
   */
  accountingManager?: string;

  /**
   * 总经理审批
   */
  generalManager?: string;

  /**
   * 财务负责人审批
   */
  financeManager?: string;

  /**
   * 状态
   */
  status?: string;

    /**
     * 日期范围参数
     */
    params?: any;
}



